Search engines are common tools used for finding relevant information over the world-wide web. Search engines are additionally implemented to search items locally with a user device, such as a personal computer or a smart phone. A search query is entered by a user into such a search engine in order to receive search results, either from the world wide web or from a local device. The search query may be in a form of a textual query, an image, or an audio query.
Searching for multimedia content elements (e.g., pictures, video clips, audio clips, etc.) stored locally on the user device as well as on the web may prove to be a difficult task. According to some existing solutions, an input query for multimedia contents is utilized to search through metadata of the available multimedia content elements. The metadata is typically associated with a multimedia content element and includes parameters such as the element's size, type, name, and short description, and so on. The description and name of the element are typically provided by the creator of the element and/or by a person storing the element in, e.g., a local device or a remote database. Therefore, metadata of an element, in most cases, is not sufficiently descriptive of the multimedia element. For example, a user may save a picture of a cat under the file name of “weekend fun.” In such a scenario, the metadata would not be sufficiently descriptive of the contents of the picture to enable a user to easily search for said picture using the word “cat.” Thus, searching for multimedia content elements based solely on their metadata may not provide the most accurate results.
In computer science, a tag is a non-hierarchical keyword or term assigned to a piece of information, such as multimedia content elements. Tagging, or associated a tag with a particular content element, has gained wide popularity due to the growth of social networking, photograph sharing, and bookmarking of websites. Some websites allow users to create and manage tags that categorize content using simple keywords. The users of such sites manually add and define the description of the tags. However, some websites limit the tagging options of multimedia elements, for example, by only allowing tagging of people and not object shown in a picture. Therefore, searching for all multimedia content elements solely based on the tags would not be efficient.
Additionally, existing solutions provide several tools to identify users' preferences. Some of these existing solutions attempt to identify and recommend content that is similar to content enjoyed by the user based on information noted by tags of the content such as, for example, subject matter, the entity that created the content, actors or actresses appearing in the content, and the like. However, as noted above, tags are often incomplete or inaccurate. As a result, such tag-based solutions also face challenges based on lack of accurate information regarding what content the user has viewed and whether the user enjoyed such content.
It would be therefore advantageous to provide a solution that overcomes the deficiencies of the prior art.